//获取所有员工信息
function getEmployeeAll(){
    //发送ajax请求
    $.ajax({
        url:"http://localhost/hotel/php/employeeeQueryAll.php",
        success(msg){
            // console.log(msg);
            //将所有的员工信息存储到storage里面
            sessionStorage.setItem("employeeInfo",msg)
            //将数据转换成对象,获取前10条
            msg = JSON.parse(msg).slice(0,10)
            //将前10条数据渲染到页面中
            renderEmployeeInfo(msg);


            //第一页将页面打开,存储当前页为第一页
            sessionStorage.setItem("pageCurrent",1)
        }
    })
}
getEmployeeAll();

// 这个函数用于渲染页面
function renderEmployeeInfo(msg){
    // console.log(msg);
    $("tbody")[0].innerHTML = "";
    msg.forEach(item=>{
        let str = `
            <tr>
                <td>${item.eid}</td>
                <td>${item.ename}</td>
                <td>${item.egender}</td>
                <td>${item.eage}</td>
                <td>${item.dpost}</td>
                <td>
                    <button data-bs-toggle="modal" data-bs-target="#myModalEdit" class='btn btn-warning btn-sm' data-edit='edit' id="${item.eid}">修改</button>
                    <button class="btn btn-danger btn-sm" data-del='del' id="${item.eid}">删除</button>
                </td>
            </tr>
        `
        //转换成JS对象
        $("tbody")[0].innerHTML += str;
    })
}
//删除操作,利用事件的委托(委派)
$("tbody").click(function(e){
    //处理事件对象的兼容性
    e = e || window.event
    // console.log(e.target.id);
    // console.log(e.target.dataset);
    if(e.target.dataset.del == 'del'){
        //防止误删
        const flag = window.confirm("确定要删除吗?")
        if(flag){
            //确定删除
            $.ajax({
                url:"http://localhost/hotel/php/employeeDelete.php",
                data:{id:e.target.id},
                success(){
                    //刷新页面就可以了
                    location.reload();
                }
            })
        }
    }
    // 修改操作
    if(e.target.dataset.edit == 'edit'){
        //发送ajax,渲染学生数据
        $.ajax({
            url:"http://localhost/hotel/php/employeeUpdate.php",
            data:{id:e.target.id},
            success(msg1){
                console.log(msg1);
                //将这个员工信息渲染到页面当中
                msg1 = JSON.parse(msg1)
                $("#updatename").val(msg1.ename);
                $("#updateage").val(msg1.eage);
                $("#updateID").val(msg1.eid);
                //班级数据,性别
                if(msg1.egender == '男'){
                    $(".updatesex")[0].checked = true;
                }else{
                    $(".updatesex")[1].checked = true;
                }

                // 发送ajax,获取岗位信息,渲染岗位数据
                $.ajax({
                    url:"http://localhost/hotel/php/departmentAll.php",
                    success(msg2){
                        // console.log(msg2);
                        //将数据存储到storage
                        sessionStorage.setItem("clazzInfo",msg2)
                        //将部门数据渲染到岗位的表单当中
                        msg2 = JSON.parse(msg2)
                        //渲染页面
                        $("#update").html("<option>请选择</option>");
                        //员工的岗位ID
                        let str = ``
                        msg2.forEach(item=>{
                            // console.log(msg1.eid,item.dId);
                            if(msg1.dId == item.dId){
                                str += `<option selected value="${item.dId}">${item.dpost}</option>`
                            }else{
                                str += `<option value="${item.dId}">${item.dpost}</option>`
                            }
                            // 将str,渲染到updatepost里面来
                            $("#updatepost").html(str)
                        })
                    }
                })
            }
        })
    }
})

function ok(){
    const username = $("#updatename").val()
    const updateage = $("#updateage").val()
    const updatepost = $("#updatepost").val()
    const ssex = $(".updatesex");
    const id = $("#updateID").val();
    console.log(username,updateage,updatepost,ssex,id);
    let gender = ''
    if(ssex[0].checked == true){
        gender = '男'
    }else{
        gender = '女'
    }
    if(!(updateage && username && updatepost)){
        return alert("请输入完整的数据!")
    } 
    //发送ajax
    $.ajax({
        type:"POST",
        url:"http://localhost/hotel/php/employeeUpdateOk.php",
        data:{username,gender,age:updateage,empId:updatepost,id},
        success(){
            location.reload();
        }
    })
}
/* 添加 */
//获取班级数据
function getEmployeeInfo(){
    /* 
        1. 发送一个ajax
        2. 获取班级数据,存储到storage里面存储一份
        3. 渲染班级数组在模态框里面渲染出来
    */
    $.ajax({
        url:"http://localhost/hotel/php/departmentAll.php",
        success(msg){
            // console.log(msg);
            // 获取班级数据,存储到storage里面存储一份
            sessionStorage.setItem("departmentInfo",msg)
            //渲染到模态框
            msg = JSON.parse(msg)

            let str = '<option>请选择</option>'
            msg.forEach(item=>{
                str+=`
                    <option value="${item.dId}">${item.dpost}</option>
                `
                $("#dpost").html(str);
            })
        }
    })
}
function addDepartmentInfo(){

    const username = $("#username").val()
    const userage = $("#userage").val()
    const emp = $("#dpost").val()
    const ssex = $(".ssex");
    let gender = ''
    if(ssex[0].checked == true){
        gender = '男'
    }else{
        gender = '女'
    }
    // console.log(userage,username,emp,gender);
    if(!(userage && username && emp)){
        return alert("请输入完整的数据!")
    }
    // //发送ajax
    $.ajax({
        type:"POST",
        url:"http://localhost/hotel/php/departmentAdd.php",
        data:{ename:username,egender:gender,eage:userage,empId:emp},
        success(){
            location.reload();
        }
    })
}
/* 首页 */
function first(){
    // sessStorage里面存储的pageCurrent = 1
    sessionStorage.setItem("pageCurrent",1)
    // 从storage里面获取所有的学生数据,渲染前10条
    let employeeInfo = sessionStorage.getItem("employeeInfo")
    // 将JSON数据转换成对象
    employeeInfo = JSON.parse(employeeInfo)
    //获取前10条数据,准备渲染页面
    employeeInfo = employeeInfo.slice(0,10)
    //调用渲染员工页面函数,渲染页面
    renderEmployeeInfo(employeeInfo);
}
/* 尾页选项 */
function last(){
    //1. 获取所有的学生数据
    let employeeInfo = sessionStorage.getItem("employeeInfo")
    //2. 计算总共有多少页
    employeeInfo = JSON.parse(employeeInfo)
    const pageCurrent = Math.ceil(employeeInfo.length/10)
    //3. 将总共的页存储到storage里面
    sessionStorage.setItem("pageCurrent",pageCurrent)
    //4. 获取后10条数据,准备渲染页面

    //将最后一页的数据计算出来
    if(employeeInfo.length % 10 != 0){
        employeeInfo = employeeInfo.slice(Math.floor(employeeInfo.length / 10) * 10,employeeInfo.length)
    }else{
        employeeInfo = employeeInfo.slice(Math.floor(employeeInfo.length / 10 -1) * 10,employeeInfo.length)
    }
    //渲染页面
    renderEmployeeInfo(employeeInfo)
}

/* 上一页按钮 */
function up(){
    // 1. 获取当前页
    let pageCurrent = +sessionStorage.getItem("pageCurrent")
    // 2. 当前页-1 不能小于1,如果小于,那么就等于1
    pageCurrent = pageCurrent - 1
    if(pageCurrent <= 1){
        pageCurrent = 1;
        // $("#first").attr("disabled",true)
        // $("#first").css("cursor","not-allowed")
    }else{
        // $("#first").css("cursor","auto")
        // $("#first").attr("disabled",false)
    }
    //存储当前页
    sessionStorage.setItem("pageCurrent",pageCurrent)
    //获取上一页的数据
    let employeeInfo = sessionStorage.getItem("employeeInfo")
    //将JSON转换成对象
    employeeInfo = JSON.parse(employeeInfo)
    employeeInfo = employeeInfo.slice((pageCurrent-1)*10,pageCurrent*10)
    console.log(employeeInfo);
    //渲染数据
    renderEmployeeInfo(employeeInfo)
}

/* 
    下一页按钮
*/
function down(){
    // 1. 获取当前页
    let pageCurrent = +sessionStorage.getItem("pageCurrent")
    pageCurrent = pageCurrent + 1
    //获取所有的学生信息
    let employeeInfo = JSON.parse(sessionStorage.getItem("employeeInfo"))
    // 2. 计算最后一页
    let lastPage = Math.ceil(employeeInfo.length / 10)
    // 当前页+1,当前页不能大于最后一页
    if(pageCurrent > lastPage){
        pageCurrent = lastPage
    }
    //存储当前页
    sessionStorage.setItem("pageCurrent",pageCurrent)
    // 获取当前页的数据
    employeeInfo = employeeInfo.slice((pageCurrent-1)*10,pageCurrent*10)
    //渲染学生信息
    renderEmployeeInfo(employeeInfo)
}

function queryName(){
    /* 
        1. 获取用户输入的名字
        2. 判断名字不为空
        3. 发送ajax获取数据,渲染
        */
//    1. 获取用户输入的名字
    const likeName = $("#likeName").val()
//    2. 非空判断
    if(likeName.trim().length == 0){
        return alert("请输入名字")
    }
//    3. 发送ajax,获取数据
    $.ajax({
        url:"http://localhost/FIVE/hotel/php/employeeQueryLikeName.php",
        data:{sname:likeName},
        success(msg){
            if(msg == '[]'){
                alert("查无此人!")
                $("#likeName").val("")
            }else{
                //将数据存储到Storage里面
                sessionStorage.setItem("employeeInfo",msg)
                //将msg转化对象
                let employeeInfo = JSON.parse(msg)
                //获取前10条数据
                employeeInfo = employeeInfo.slice(0,10)
                //当前页是第一页
                sessionStorage.setItem("pageCurrent",1)
                //渲染数据
                renderEmployeeInfo(employeeInfo)
            }
        }
    })    
}

